文章目录
  1. 1. iOS开发 git github 初学+进阶
  2. 2. Can ignore specific files
  3. 3. Use wildcards as well
  4. 4. Can also ignore all directories and files in a directory.
  5. 5. Ignore all dotfiles…
  6. 6. except for .gitignore
  7. 7. git branch local
  8. 8. git checkout local    切换到local
  9. 9. …  开发local分支
  10. 10. git checkout master
  11. 11. git merge local
  12. 12. git branch -d local    合并完后删除local
  13. 13. git clone git@github.com: xxx/xxx.git   ( private 链接)
  14. 14. git pull    从服务器更新
  15. 15. git log   查看其他成员更新日志
  16. 16. git branch dev-b
  17. 17. git checkout dev-b
  18. 18. git push origin dev-b   (如果不通过github,通过自己机器上的路径也可以)
  19. 19. git pull origin dev-b  即可合并其他开发者的Branch
  20. 20. git branch newexp
  21. 21. git checkout newexp
  22. 22. git pull origin dev-b
  23. 23. git checkout master
  24. 24. git merge newexp
  25. 25. mkdir myproject.git
  26. 26. cd myproject.git
  27. 27. git –bare init –shared
  28. 28. cd myproject
  29. 29. git push user@server1:myproject.git  master
  30. 30. git clone user@server1:myproject.git
  31. 31. git commit
  32. 32. git pull
  33. 33. git push

iOS开发 git github 初学+进阶

Iphone学习笔记 github

iOS开发 git github 初学+进阶

2012-08-21 10:52:33|  分类: MyMac |  标签:git  github  入门  进阶

|字号

 订阅

1 注册github,配置git环境

2 github****上创建立一个项目

我们创建的是一个github仓库,一个仓库里只能存放(或叫对应)一个项目

打开teminal

Global setup:

Set up git

  git config –global user.name “Your Name”

  git config –global user.email defnngj@gmail.com

Next steps:打开已有Xcode工程

  git init

  git commit -m ‘first commit’#提交到库

  git remote add origin git@github.com:defnngj/hibernaet-demo2.git#链接到远程git

  git push -u origin master

3 使用ssh

$ cd ~/. ssh 检查本机的ssh密钥,如果木有,百度

如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。

$ mkdir key_backup

$ cp id_rsa* key_backup

$ rm id_rsa*

生成新的密钥:

Ssh-keygen –t rsa –C “defnngj@gmai.com”

最好不要直接打开~/.ssh/里面的id_rsa.pub文件,使用vi id_rsa.pub.防止有额外符号

登陆github系统。点击右上角的 Account Settings—>SSH Public keys —> add another public keys

把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了

在git中运行下面命令:

$ git –T git@github.com

如果提示:Hi defnngj You’ve successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了。

4 开始使用

$ git status   //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。

$ git add .��  //(.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。

Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。

$ git commit –m”new natter ”  //对你更新或修改了哪些内容做一个描述。

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。

Ps: origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。

$ git remote -v�� //查看你当前项目远程连接的是哪个仓库地址。

$ git push -u origin master�� //将本地的项目提交到远程仓库中。

如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。

$ git clone git@github.com:defnngj/hibernate-demo.git�� //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。

假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?

$ git fetch origin��   //取得远程更新,这里可以看做是准备要取了

$ git merge origin/master  //把更新的内容合并到本地分支/master

$ git rm   aaa.java    //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。

$ git rm   bbb/ -r��  // -r 会把bbb/目录下的所有内容一次性移动。

5 继续

1. .gitIgnore 文件忽略哪些不被Git跟踪的文件

在根目录下生成 .gitignore 文件,

例子1:

Can ignore specific files

.DS_Store

Use wildcards as well

*~

*.swp

Can also ignore all directories and files in a directory.

tmp/**/*

例子2:

Ignore all dotfiles…

.*

except for .gitignore

!.gitignore

2. 使用GitHub进行多人协同开发

GitHub上大的项目如Ruby有多个Branch

(0) 克隆GitHub项目

git clone git://github.com/xxx/xxx.git

(1) 分支的创建和合并

git branch local

git checkout local    切换到local

…  开发local分支

与master分支合并

git checkout master

git merge local

git branch -d local    合并完后删除local

(2) 最佳方式的GitHub多人协作,每个人建立自己分支

假定有项目创建者A (主力开发者和代码合并)和其他开发者B, C , D, E …

创建者A将其他开发者加到项目的Collaborator里 ,如下图所示(项目Admin菜单)

-167.jpg

其他开发者B, C , D, E…,配置好Git和GitHub的证书:

git clone git@github.com: xxx/xxx.git   ( private 链接)

git pull    从服务器更新

git log   查看其他成员更新日志

其他开发者建议在开发时建立自己的分支,不要在master上整了

B开发者(当然主力开发者也适用)

git branch dev-b

git checkout dev-b

….  开发

将分支push到github

git push origin dev-b   (如果不通过github,通过自己机器上的路径也可以)

主开发者A

git pull origin dev-b  即可合并其他开发者的Branch

为了保险起见,主开发者可以在新的Branch中测试B的开发成果,测试稳定后再合并进Master

git branch newexp

git checkout newexp

git pull origin dev-b

… (testing…)

….

git checkout master

git merge newexp

3. 建立自己的Git服务器进行多人协同开发

服务器server1:

mkdir myproject.git

cd myproject.git

git –bare init –shared

开发者A 初始化服务器上项目

cd myproject

git push user@server1:myproject.git  master

开发者N可获得初始项目文件

git clone user@server1:myproject.git

改动

git commit

git pull

git push

文章目录
  1. 1. iOS开发 git github 初学+进阶
  2. 2. Can ignore specific files
  3. 3. Use wildcards as well
  4. 4. Can also ignore all directories and files in a directory.
  5. 5. Ignore all dotfiles…
  6. 6. except for .gitignore
  7. 7. git branch local
  8. 8. git checkout local    切换到local
  9. 9. …  开发local分支
  10. 10. git checkout master
  11. 11. git merge local
  12. 12. git branch -d local    合并完后删除local
  13. 13. git clone git@github.com: xxx/xxx.git   ( private 链接)
  14. 14. git pull    从服务器更新
  15. 15. git log   查看其他成员更新日志
  16. 16. git branch dev-b
  17. 17. git checkout dev-b
  18. 18. git push origin dev-b   (如果不通过github,通过自己机器上的路径也可以)
  19. 19. git pull origin dev-b  即可合并其他开发者的Branch
  20. 20. git branch newexp
  21. 21. git checkout newexp
  22. 22. git pull origin dev-b
  23. 23. git checkout master
  24. 24. git merge newexp
  25. 25. mkdir myproject.git
  26. 26. cd myproject.git
  27. 27. git –bare init –shared
  28. 28. cd myproject
  29. 29. git push user@server1:myproject.git  master
  30. 30. git clone user@server1:myproject.git
  31. 31. git commit
  32. 32. git pull
  33. 33. git push